import 'dart:developer' as d;

import 'package:flutter/foundation.dart';
import 'package:logger/logger.dart';

var _logger = Logger(
    // printer: PrettyPrinter(
    //   methodCount: 0,
    // ),
    );

LogV(String msg) {
  _logger.v(msg);
}

LogD(String msg) {
  _logger.d(msg);
}

LogI(String msg) {
  _logger.i(msg);
}

LogW(String msg) {
  _logger.w(msg);
}

LogE(String msg) {
  _logger.e(msg);
}

LogWTF(String msg) {
  _logger.wtf(msg);
}

Logger logger = Logger(filter: AppLogFilter(), output: AppLogOutput());

class AppLogFilter extends LogFilter {
  @override
  bool shouldLog(LogEvent event) =>
      event.level == Level.error ||
      (kDebugMode && event.level.index >= level!.index);
}

class AppLogOutput extends LogOutput {
  @override
  void output(OutputEvent event) {
    for (var e in event.lines) {
      d.log(e);
    }
  }
}
